home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / html / HRuleView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  3.5 KB  |  147 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.Insets;
  5. import java.awt.Rectangle;
  6. import java.awt.Shape;
  7. import javax.swing.BorderFactory;
  8. import javax.swing.border.Border;
  9. import javax.swing.text.AttributeSet;
  10. import javax.swing.text.BadLocationException;
  11. import javax.swing.text.Element;
  12. import javax.swing.text.Position;
  13. import javax.swing.text.StyleConstants;
  14. import javax.swing.text.View;
  15. import javax.swing.text.Position.Bias;
  16.  
  17. class HRuleView extends View {
  18.    private Border bevel;
  19.    private float margin_left = 0.0F;
  20.    private float margin_right = 0.0F;
  21.    private int alignment = 0;
  22.    private String noshade = null;
  23.    private int size = 0;
  24.    private int hrwidth = 0;
  25.    private static final int SPACE_ABOVE = 3;
  26.    private static final int SPACE_BELOW = 3;
  27.  
  28.    public HRuleView(Element var1) {
  29.       super(var1);
  30.       AttributeSet var2 = var1.getAttributes();
  31.       if (var2 != null) {
  32.          this.margin_left = 0.0F;
  33.          this.margin_right = 0.0F;
  34.          this.alignment = StyleConstants.getAlignment(var2);
  35.          this.noshade = (String)var2.getAttribute("noshade");
  36.          String var3 = (String)var2.getAttribute("size");
  37.          if (var3 != null) {
  38.             this.size = Integer.valueOf(var3);
  39.          }
  40.  
  41.          String var4 = (String)var2.getAttribute("width");
  42.          if (var4 != null) {
  43.             this.hrwidth = Integer.valueOf(var4);
  44.          }
  45.       }
  46.  
  47.       this.bevel = BorderFactory.createLoweredBevelBorder();
  48.    }
  49.  
  50.    public View breakView(int var1, int var2, float var3, float var4) {
  51.       return null;
  52.    }
  53.  
  54.    public int getBreakWeight(int var1, float var2, float var3) {
  55.       return var1 == 0 ? 3000 : 0;
  56.    }
  57.  
  58.    public float getPreferredSpan(int var1) {
  59.       Insets var2 = this.bevel.getBorderInsets(((View)this).getContainer());
  60.       switch (var1) {
  61.          case 0:
  62.             return (float)(var2.left + var2.right);
  63.          case 1:
  64.             if (this.size > 0) {
  65.                return (float)(this.size + 3 + 3);
  66.             } else {
  67.                if (this.noshade == "#DEFAULT") {
  68.                   return 7.0F;
  69.                }
  70.  
  71.                return (float)(var2.top + var2.bottom + 3 + 3);
  72.             }
  73.          default:
  74.             throw new IllegalArgumentException("Invalid axis: " + var1);
  75.       }
  76.    }
  77.  
  78.    public int getResizeWeight(int var1) {
  79.       if (var1 == 0) {
  80.          return 1;
  81.       } else {
  82.          return var1 == 1 ? 0 : 0;
  83.       }
  84.    }
  85.  
  86.    public Shape modelToView(int var1, Shape var2, Position.Bias var3) throws BadLocationException {
  87.       int var4 = ((View)this).getStartOffset();
  88.       int var5 = ((View)this).getEndOffset();
  89.       if (var1 >= var4 && var1 <= var5) {
  90.          Rectangle var6 = var2.getBounds();
  91.          if (var1 == var5) {
  92.             var6.x += var6.width;
  93.          }
  94.  
  95.          var6.width = 0;
  96.          return var6;
  97.       } else {
  98.          return null;
  99.       }
  100.    }
  101.  
  102.    public void paint(Graphics var1, Shape var2) {
  103.       Rectangle var3 = var2.getBounds();
  104.       int var4 = 0;
  105.       int var5 = var3.y + 3;
  106.       int var6 = var3.width - (int)(this.margin_left + this.margin_right);
  107.       if (this.hrwidth > 0) {
  108.          var6 = this.hrwidth;
  109.       }
  110.  
  111.       int var7 = var3.height - 6;
  112.       if (this.size > 0) {
  113.          var7 = this.size;
  114.       }
  115.  
  116.       switch (this.alignment) {
  117.          case 0:
  118.          default:
  119.             var4 = var3.x + (int)this.margin_left;
  120.             break;
  121.          case 1:
  122.             var4 = var3.x + var3.width / 2 - var6 / 2;
  123.             break;
  124.          case 2:
  125.             var4 = var3.x + var3.width - this.hrwidth - (int)this.margin_right;
  126.       }
  127.  
  128.       if (this.noshade == "#DEFAULT") {
  129.          var1.fillRect(var4, var5, var6, var7);
  130.       } else {
  131.          this.bevel.paintBorder(((View)this).getContainer(), var1, var4, var5, var6, var7);
  132.       }
  133.  
  134.    }
  135.  
  136.    public int viewToModel(float var1, float var2, Shape var3, Position.Bias[] var4) {
  137.       Rectangle var5 = (Rectangle)var3;
  138.       if (var1 < (float)(var5.x + var5.width / 2)) {
  139.          var4[0] = Bias.Forward;
  140.          return ((View)this).getStartOffset();
  141.       } else {
  142.          var4[0] = Bias.Backward;
  143.          return ((View)this).getEndOffset();
  144.       }
  145.    }
  146. }
  147.